There is an emerging class of computer applications that require the use of a network of geographically dispersed servers in order to improve the performance of the applications by reducing network delay. Applications of this nature are sometimes referred to as Latency Driven Distributed (LDD) applications. An example of an LDD application is a massively multi-player real-time game that operates over the Internet. Applications of this nature typically involve the real-time composition of multimedia material from distributed sources around the Internet. Consequently, to preserve the real-time nature of LDD applications it is often necessary to perform processing and distribution of data on servers that are located near users of the LDD applications. For example, performing processing and distribution of multimedia data on a server located in Europe for users located in Australia may introduce a delay that significantly degrades the real-time performance of the LDD applications for Australian users. In this example it would be advantageous to reduce the delay by performing the processing and distribution of the multimedia data from a server located in Australia.
While it is possible for LDD application providers to purchase and install their own infrastructure to provide themselves with a set of geographically dispersed servers, this option has the disadvantage of being relatively costly. A more cost-effective solution is to lease or hire the necessary computing resources from a party that owns the servers and provide the paths etc. Unfortunately, the disadvantage with this option is that application providers will probably share the physical resources (that is, computing resources) with other application providers, which may lead to a degradation in the perform of LDD applications due to processing delays.